// 导入axios工具包，这个模块封装“首页模块”所有的aiax请求
import instance from '@/utils/axios.js'

// 1.获取频道列表
const getChannelsList = () => {
  return instance({
    url: '/v1_0/user/channels',
    method: 'get'
  })
}

// 导出接口
export {
  getChannelsList
}

// 2.获取文章列表
const getArticleList = ({
  channel_id,
  timestamp
}) => {
  return instance({
    url: "/v1_0/articles",
    method: 'get',
    params: {
      with_top: 1, //是否需要置顶，给1即可
      channel_id,
      timestamp
    }
  })
}

// 导出接口
export {
  getArticleList
}

// 3.获取文章详细信息
// 参数是文章的id:直接在路径后面写 （id作为路由的一部分）
// 格式：url/id
//3.获取文章详细信息
const getArticleInfo = ({
  id
}) => {
  return instance({
    //这个接口的id直接在路径后面拼接  格式： url/id
    url: '/v1_0/articles/' + id,
    method: 'get',
  })
}
//导出接口
export {
  getArticleInfo
}

// 4.关注接口
// 4.1关注
function addFllowing({
  target
}) {
  return instance({
    url: '/v1_0/user/followings',
    method: 'post',
    data: {
      target
    },

  });
}

// 4.2取消关注
function removeFllowing({
  target
}) {
  return instance({
    url: '/v1_0/user/followings/' + target,
    method: 'delete',
  });
}
//导出接口
export {
  addFllowing,
  removeFllowing
}

// 5.点赞接口
// 5.1点赞
function addLikings({
  target
}) {
  return instance({
    url: '/v1_0/article/likings',
    method: 'post',
    data: {
      target
    },

  });
}

// 5.2取消点赞
function removeLikings({
  target
}) {
  return instance({
    url: '/v1_0/article/likings/' + target,
    method: 'delete',
  });
}
//导出点赞接口
export {
  addLikings,
  removeLikings
}

// 6.不喜欢接口
// 6.1不喜欢
function addDisLike({
  target
}) {
  return instance({
    url: '/v1_0/article/dislikes',
    method: 'post',
    data: {
      target
    },

  });
}

// 6.2取消不喜欢
function removeDisLike({
  target
}) {
  return instance({
    url: '/v1_0/article/dislikes/' + target,
    method: 'delete',
  });
}
//导出点赞接口
export {
  addDisLike,
  removeDisLike
}

// 7.搜素推荐词列表
function getSuggestion(q) {
  return instance({
    url: '/v1_0/suggestion',
    method: 'get',
    params: {
      q
    }
  })
}
// 导出接口
export {
  getSuggestion
}

// 8.搜素结果列表
function getSearchList({
  page,
  q
}) {
  return instance({
    url: '/v1_0/search',
    method: 'get',
    params: {
      per_page: 10,
      page,
      q
    }
  })
}
// 导出接口
export {
  getSearchList
}
